Tesseract (software)

Tesseract

Tesseract 2.03 running on Gnome Terminal 2.26. "scanneddoc.tif" is the input document which will be rendered as "outputfile.txt" by Tesseract.
Original author(s) Ray Smith, Hewlett-Packard[1]
Developer(s) Google
Stable release 3.01 / October 21, 2011; 3 months ago (2011-10-21)[1]
Development status Active
Written in C and C++
Operating system Linux (32 & 64-bit), Windows (32-bit), and, unofficially, Mac OS X (x86)
Available in

Interface: English
Recognition:

Arabic, Bulgarian, Catalan, Czech, Danish, Dutch, English, Finnish, French, German, Greek, Hindi Hungarian, Indonesian, Italian, Latvian, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swedish, Tagalog, Thai, Turkish, Ukrainian & Vietnamese (more can be added using included training files)
Type Optical character recognition
License Apache License v2.0
Website http://code.google.com/p/tesseract-ocr

Tesseract is a free software optical character recognition engine for various operating systems.[2]

Originally developed as proprietary software at Hewlett-Packard between 1985 and 1995, it had very little work done on it in the following decade. It was then released as open source in 2005 by Hewlett Packard and UNLV. Tesseract development has been sponsored by Google since 2006.[3] It is released under the Apache License, Version 2.0.[1][4][5]

Tesseract is considered one of the most accurate free software OCR engines currently available.[5][6]

Contents

History

The Tesseract engine was developed at Hewlett Packard Laboratories Bristol and at Hewlett Packard Co, Greeley Colorado between 1985 and 1994, with some more changes made in 1996 to port to Windows, and some migration from C to C++ in 1998. A lot of the code was written in C, and then some more was written in C++. Since then all the code has been converted to at least compile with a C++ compiler.[4]

Currently Tesseract builds under Linux with GCC 2.95 or later and under Windows with Visual C++ 6. The C++ code makes heavy use of a list system using macros. This predates the C++ Standard Template Library and may be more efficient than Standard Template Library lists, but is reportedly harder to debug in the event of a segmentation fault. Another side-effect of the C/C++ split is that the C++ data structures get converted to C data structures to call the low-level C code. The migration to C++ is a step towards eliminating this conversion, though it is not yet complete.

Features

Tesseract was in the top 3 OCR engines in terms of character accuracy in 1995. It is available for Linux, Windows and Mac OS X, however, due to limited resources only Windows and Ubuntu are rigorously tested by developers.[4][5][7]

Tesseract up to and including version 2 could only accept TIFF images of simple one column text as inputs. These early versions did not include layout analysis and so inputting multi-columned text, images, equations produced a garbled output. Since version 3.00 Tesseract has supported output text formatting, hOCR positional information and page layout analysis. Support for a number of new image formats was added using the Leptonica library. Tesseract can detect whether text is monospaced or proportional.[5]

The initial versions of Tessaract could only recognize English language text. Starting with version 2 Tesseract was able to process English, French, Italian, German, Spanish, Brazilian Portuguese and Dutch. Starting with version 3 it can recognize Arabic, English, Bulgarian, Catalan, Czech, Chinese (Simplified and Traditional), Danish (standard and Fraktur script), German, Greek, Finnish, French, Hebrew, Croatian, Hungarian, Indonesian, Italian, Japanese, Korean, Latvian, Lithuanian, Dutch, Norwegian, Polish, Portuguese, Romanian, Russian, Slovak (standard and Fraktur script), Slovenian, Spanish, Serbian, Swedish, Tagalog, Thai, Turkish, Ukrainian and Vietnamese. Tesseract can be trained to work in other languages too.[5]

If Tessaract is used to process right-to-left text such Arabic or Hebrew the results are ordered as though it is left-to-right text.[8]

Tesseract is suitable for use as a backend, and can be used for more complicated OCR tasks including layout analysis by using a frontend such as OCRopus.[9]

User interfaces

Tesseract does not come with a GUI and is instead run from the command-line interface.[10]

There are several separate projects which provide a GUI for Tesseract:

Libraries using Tesseract engine

Reception

In a July 2007 article on Tesseract, Anthony Kay of Linux Journal termed it "a quirky command-line tool that does an outstanding job". At that time he noted "Tesseract is a bare-bones OCR engine. The build process is a little quirky, and the engine needs some additional features (such as layout detection), but the core feature, text recognition, is drastically better than anything else I've tried from the Open Source community. It is reasonably easy to get excellent recognition rates using nothing more than a scanner and some image tools, such as The GIMP and Netpbm."[2]

References

  1. ^ a b c Google (2008). "tesseract-ocr". http://code.google.com/p/tesseract-ocr/. Retrieved 2008-07-12. 
  2. ^ a b Kay, Anthony (July 2007). "Tesseract: an Open-Source Optical Character Recognition Engine". Linux Journal. http://www.linuxjournal.com/article/9676. Retrieved 28 September 2011. 
  3. ^ Announcing Tesseract OCR - The official Google blog
  4. ^ a b c Vincent, Luc (August 2006). "Announcing Tesseract OCR". http://google-code-updates.blogspot.com/2006/08/announcing-tesseract-ocr.html. Retrieved 2008-06-26. 
  5. ^ a b c d e Canonical Ltd. (February 2011). "OCR". https://help.ubuntu.com/community/OCR. Retrieved 2011-02-11. 
  6. ^ Willis, Nathan (September 2006). "Google's Tesseract OCR engine is a quantum leap forward". http://www.linux.com/articles/57222. Retrieved 2008-07-18. 
  7. ^ Tesseract Project (February 2011). "Issue 263: patch to enable hOCR output". http://code.google.com/p/tesseract-ocr/issues/detail?id=263#c12. Retrieved 26 February 2011. 
  8. ^ "TrainingTesseract3". http://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract3. Retrieved 9 October 2011. 
  9. ^ Announcing the OCRopus Open Source OCR System (Thomas Breuel, OCRopus Project Leader)
  10. ^ Google Code – Tesseract Readme
  11. ^ "FreeOCR". 2010. http://www.paperfile.net/. Retrieved January 2010. 
  12. ^ SourceForge (2010). "gImageReader". https://sourceforge.net/projects/gimagereader/. Retrieved 12 July 2010. 
  13. ^ "gscan2pdf". 2010. http://gscan2pdf.sourceforge.net/. Retrieved September 2010. 
  14. ^ Gnome.org (August 2010). "OCRFeeder". http://live.gnome.org/OCRFeeder/. Retrieved 8 August 2010. 
  15. ^ emanueles (2010). "OcrGui". http://sourceforge.net/projects/ocrgui. Retrieved 27 August 2010. 
  16. ^ "Qiqqa". 2011. http://www.qiqqa.com. Retrieved 26 January 2011. 
  17. ^ "Tesseract GUI". http://blog.loudhush.ro/2009/02/tesseract-gui.html. Retrieved 27 April 2011. 
  18. ^ "TextRipper". 2011. http://gtk-apps.org/content/show.php/TextRipper+%28aka+T-Rip%29?content=132759. Retrieved January 2011. 
  19. ^ SourceForge (June 2010). "VietOCR". http://vietocr.sourceforge.net/. Retrieved 12 July 2010. 
  20. ^ "YAGF". September 2011. http://symmetrica.net/cuneiform-linux/yagf-en.html. Retrieved 1 September 2011. 
  21. ^ "hOcr2Pdf.NET". 2011. http://hocrtopdf.codeplex.com/. Retrieved April 2011. 

See also

External links